package niuke;

import org.junit.Test;

import java.util.Scanner;

/**
 * 写出一个程序，接受一个十六进制的数，输出该数值的十进制表示。
 * <p>
 * 数据范围：保证结果在 1≤n≤2^31 - 1
 * 输入描述：
 * 输入一个十六进制的数值字符串。
 * <p>
 * 输出描述：
 * 输出该数值的十进制字符串。不同组的测试用例用\n隔开。
 * <p>
 * 示例1
 * 输入：
 * 0xAA
 * <p>
 * 输出：
 * 170
 *
 * @ClassName HJ05
 * @Description
 * @Author xiaoyang
 * @Date 2023/03/30/11:02
 */
public class HJ05 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String response = in.nextLine();
            String solution = solution(response);
            System.out.println(solution);

        }
    }

    private static String solution(String response) {
        String tmp = response.substring(2);
        int parseInt = Integer.parseInt(tmp, 16);
        return String.valueOf(parseInt);
    }

    @Test
    public void testParseInt() {
        String tmp = "-1101";
        // 将任意字符串 , 以指定进制转为 10 进制
        int parseInt = Integer.parseInt(tmp, 2);
        System.out.println(parseInt);
    }

    @Test
    public void testSubstring() {
        String response = "abcdef";
        // 不写默认 就是从当前开始截取到字符串末位, 包含当前节点
        response = response.substring(2);
        System.out.println(response);
        // ab cdef
        // 01 2345
        // beginIndex , endIndex
        // []
        response = "abcdef";
        int length = response.length() - 1;
        // 截取指定长度, 包含 首, 尾
        String tmp = response.substring(2, length);

        System.out.println(tmp);
    }

    @Test
    public void testIfTrue() {
        String fileName = "";
        String dir = "1";
        boolean equals = "1".equals("1");
        if (!"1".equals(dir) || !"2".equals(dir)){
            fileName = dir.concat("Constant.File.UNDERLINE").concat(String.valueOf(System.currentTimeMillis()));
        } else {
            fileName = String.valueOf(System.currentTimeMillis());
        }

    }

}
